/*
 * @Author: Tina
 * @Date: 2023-04-16 17:46:23
 * @LastEditors: Tina
 * @LastEditTime: 2023-04-27 17:10:20
 * @Description:
 */

// import { message } from 'ant-design-vue/es';
import { getAccesToken } from '@/api/frontEndAlbum';
import { ready } from 'jquery';
export const wechatConfig = (
  tag,
  share_title,
  share_desc,
  share_link_all,
  share_cover
) => {
  var share_link = share_link_all
    ? share_link_all.split('#')[0]
    : window.location.href.split('#')[0]; // 获取微信token的入参，（去掉#后面hash，防止分享失败）
  console.log(tag);
  console.log(share_title);
  console.log(share_desc);
  console.log(share_link_all);
  console.log(share_link);
  console.log(share_cover);
  const cover = share_cover || 'http://ip:port/static/default.jpg'; //默认图片地址
  return new Promise((resolve, reject) => {
    /**
     * 获取微信分享token
     */
    getAccesToken({
      url: share_link
    })
      .then((res) => {
        console.log('=====getAccesoken===' + JSON.stringify(res));
        let data = res.list;
        const config = {
          debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
          appId: 'wx01116d14741a7a69', // 必填，公众号的唯一标识
          timestamp: data.timestamp, // 必填，生成签名的时间戳
          nonceStr: data.noncestr, // 必填，生成签名的随机串
          signature: data.signature, // 必填，签名
          jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData'], // 必填，需要使用的JS接口列表，注意查看官方文档，部分js接口即将废弃，我这里用的是新的
          openTagList: ['wx-open-launch-weapp'] // 可选，需要使用的开放标签列表（当前标签用于跳转微信小程序）
        };
        // console.log(tag.$wx.ready);
        tag.$wx.config(config); //通过config接口注入权限验证配置
        tag.$wx.ready(function () {
          //通过ready接口处理成功验证
          console.log('js-sdk配置成功！');
          // alert('js-sdk配置成功！');
          //分享给朋友
          tag.$wx.updateAppMessageShareData({
            title: share_title || '宣传画册', // 分享标题
            desc: share_desc || '宣传画册', // 分享描述
            link: share_link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl: cover, // 分享后显示的封面图
            success: function () {
              console.info('分享给朋友');
            } // 设置成功回调
          });

          //分享到朋友圈
          tag.$wx.updateTimelineShareData({
            title: share_title || '宣传画册', // 分享标题
            link: share_link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl: cover, // 分享图标
            success: function () {
              // 用户点击了分享后执行的回调函数
              console.info('分享到朋友圈');
            }
          });
          return resolve(true);
        });
        tag.$wx.error(function (res) {
          // config信息验证失败会执行error函数，如签名过期导致验证失败，具体错误信息可以打开config的debug模式查看，也可以在返回的res参数中查看，对于SPA可以在这里更新签名。
          console.info('config信息验证失败');
          console.info(res);
          return reject(false);
        });
      })
      .catch((err) => {
        // message.error(err.message);
        console.log('=====获取微信签名失败===' + JSON.stringify(err));
      });
  });
};
